package com.inspur.system.mapper;

import com.inspur.system.dto.PmWorkItemDTO;
import com.inspur.system.dto.ProNumDTO;

import java.util.List;

/**
 * 【工作项】Mapper接口
 * 
 * @author ruoyi
 * @date 2024-04-09
 */
public interface PmWorkItemMapper 
{
    /**
     * 查询【工作项】
     * 
     * @param cPmNo 【工作项】主键
     * @return 【工作项】
     */
    public PmWorkItemDTO selectPmWorkItemByCPmNo(Long cPmNo);

    /**
     * 查询【工作项】列表
     * 
     * @param pmWorkItem 【工作项】
     * @return 【工作项】集合
     */
    public List<PmWorkItemDTO> selectPmWorkItemList(PmWorkItemDTO pmWorkItem);

    /**
     * 查询项目列表
     *
     * @param cProNo 【项目】
     * @return 【项目】集合
     */
    public List<PmWorkItemDTO> selectPmProList(String cProNo);

    /**
     * 查询需求列表
     *
     * @param pmWorkItem 【需求】
     * @return 【需求】集合
     */
    public List<PmWorkItemDTO> selectPmDemList(PmWorkItemDTO pmWorkItem);

    /**
     * 查询缺陷列表
     *
     * @param pmWorkItem 【缺陷】
     * @return 【缺陷】集合
     */
    public List<PmWorkItemDTO> selectPmFlawList(PmWorkItemDTO pmWorkItem);

    /**
     * 查询任务列表
     *
     * @param pmWorkItem 【任务】
     * @return 【任务】集合
     */
    public List<PmWorkItemDTO> selectPmTaskList(PmWorkItemDTO pmWorkItem);

    /**
     * 删除【工作项】
     * 
     * @param cPmNo 【工作项】主键
     * @return 结果
     */
    public int deletePmworkItemByCPmNo(Long cPmNo);

    /**
     * 批量删除【工作项】
     * 
     * @param cPmNos 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePmworkItemByCPmNos(Long[] cPmNos);

    /**
     * 查询工作项数量
     */
    public ProNumDTO selectPmworkItemNum(PmWorkItemDTO pmWorkItem);

    /**
     * 关联【工作项】
     * @return 结果
     */
    public int demPmworkItemByCPmNos(PmWorkItemDTO pmWorkItem);

}
